package array;

import java.util.Arrays;

/**
 * @author 陈正龙
 * @date 2022/3/2 17:42
 * 快排
 * 给定两个数组，arr1 和arr2，
 * <p>
 * arr2中的元素各不相同
 * arr2 中的每个元素都出现在arr1中
 * 对 arr1中的元素进行排序，使 arr1 中项的相对顺序和arr2中的相对顺序相同。未在arr2中出现过的元素需要按照升序放在arr1的末尾。
 * 输入：arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]
 * 输出：[2,2,2,1,4,3,3,9,6,7,19]
 */
public class _003 {

    public static void main(String[] args) {
       int[] arr1= new int[]{2,3,1,3,2,4,6,7,9,19,2,7,8,11,12,15};
       int[] arr2= new int[]{2,1,4,3,9,6};
        int[] result = getResult(arr1, arr2);
    }

    static int[] getResult(int[] arr1, int[] arr2) {
        int leftPoint = 0;
        for (int temp : arr2) {
            for (int right = leftPoint; right < arr1.length; right++) {
                if (arr1[right] == temp) {
                    arr1[right] = arr1[leftPoint];
                    arr1[leftPoint] = temp;
                    leftPoint++;
                }
            }
        }
        System.out.println("Arrays.toString(arr1) = " + Arrays.toString(arr1));
        return arr1;
    }
}